# Crea un xml
# 
# Importar la clase exportar
# Definir las variables archivo y grupo
# usar el metodo exportar que crea el xml y lo imprime en pantalla
#
#


from xml.dom.minidom import Document
from models import GrupoAsistencia, UserAsistencia
import pprint

def exportar(gr,archivo="archivo.xml"):
	
	""" Exporta una lista de grupos a un archivo xml
		Parametros: instancia de lista GrupoAsistencia, y nombre del archivo
	"""
	
	doc = Document()
	camp = doc.createElement("CMP")
	doc.appendChild(camp)

	# Create the main <card> element
	asistencia = doc.createElement("Asistencia")
	
	for i in gr:
		grupo = i.grupo_asociado
		# Create the minidom document

		# Create the <wml> base element
		
		group = doc.createElement("Group")
		group.setAttribute("name",grupo.nombre)
		group.setAttribute("id",str(grupo.id))
		
		memberlist= doc.createElement("memberlist")
		
		miembros = []
		for u in grupo.miembros.all():
			i = UserAsistencia.objects.get(usuario_asociado = u)
			temp  = doc.createElement("member")
			temp.setAttribute("name",u.username)
			temp.setAttribute("memberid",str(u.id))
			temp.setAttribute("MAC",i.direccion_mac)
			temp.setAttribute("BTID",i.nombre_dispositivo)
			memberlist.appendChild(temp)
		group.appendChild(memberlist)	
		# fin del for grupos
		asistencia.appendChild(group)
	camp.appendChild(asistencia)
	# Print our newly created XML
	f = open(archivo,"w")
	#print doc.toprettyxml(indent="  ")
	f.write(doc.toprettyxml(indent="  "))
	f.close()
	
	return f
